#include "libsync/configfile.h"
#include "libsync/cookiejar.h"
#include "libsync/theme.h"
+#include "libsync/clientproxy.h"
#include <QSettings>
#include <QDir>
constexpr auto networkUploadLimitC = "networkUploadLimit";
constexpr auto networkDownloadLimitC = "networkDownloadLimit";
constexpr auto encryptionCertificateSha256FingerprintC = "encryptionCertificateSha256Fingerprint";
-constexpr auto generalC = "General";
constexpr auto dummyAuthTypeC = "dummy";
constexpr auto httpAuthTypeC = "http";
constexpr auto maxAccountVersion = 13;
constexpr auto serverHasValidSubscriptionC = "serverHasValidSubscription";
+
+constexpr auto generalC = "General";
+constexpr auto isVfsEnabledC = "isVfsEnabled";
+constexpr auto launchOnSystemStartupC = "launchOnSystemStartup";
+constexpr auto optionalServerNotificationsC = "optionalServerNotifications";
+constexpr auto promptDeleteC = "promptDeleteAllFiles";
+constexpr auto showCallNotificationsC = "showCallNotifications";
+constexpr auto showChatNotificationsC = "showChatNotifications";
+constexpr auto showInExplorerNavigationPaneC = "showInExplorerNavigationPane";
}
}
}
+ ConfigFile configFile;
+ configFile.setVfsEnabled(settings->value(QLatin1String(isVfsEnabledC)).toBool());
+ configFile.setLaunchOnSystemStartup(settings->value(QLatin1String(launchOnSystemStartupC)).toBool());
+ configFile.setOptionalServerNotifications(settings->value(QLatin1String(optionalServerNotificationsC)).toBool());
+ configFile.setPromptDeleteFiles(settings->value(QLatin1String(promptDeleteC)).toBool());
+ configFile.setShowCallNotifications(settings->value(QLatin1String(showCallNotificationsC)).toBool());
+ configFile.setShowChatNotifications(settings->value(QLatin1String(showChatNotificationsC)).toBool());
+ configFile.setShowInExplorerNavigationPane(settings->value(QLatin1String(showInExplorerNavigationPaneC)).toBool());
+ ClientProxy().setupQtProxyFromSettings(*settings);
+
// Try to load the single account.
if (!settings->childKeys().isEmpty()) {
settings->beginGroup(accountsC);
#include <QLoggingCategory>
#include <QUrl>
#include <QThreadPool>
+#include <QSettings>
+
+namespace {
+ constexpr auto proxyC = "Proxy";
+ constexpr auto proxyTypeC = "Proxy/type";
+ constexpr auto proxyHostC = "Proxy/host";
+ constexpr auto proxyPortC = "Proxy/port";
+ constexpr auto proxyUserC = "Proxy/user";
+ constexpr auto proxyPassC = "Proxy/pass";
+ constexpr auto proxyNeedsAuthC = "Proxy/needsAuth";
+}
namespace OCC {
}
}
+void ClientProxy::setupQtProxyFromSettings(const QSettings &settings)
+{
+ if (settings.value(QLatin1String(proxyTypeC)).isNull()) {
+ qCInfo(lcClientProxy) << "No Proxy settings found.";
+ return;
+ }
+
+ OCC::ConfigFile configFile;
+ const auto proxyType = settings.value(QLatin1String(proxyTypeC)).toInt();
+ configFile.setProxyType(proxyType,
+ settings.value(QLatin1String(proxyHostC)).toString(),
+ settings.value(QLatin1String(proxyPortC)).toInt(),
+ settings.value(QLatin1String(proxyNeedsAuthC)).toBool(),
+ settings.value(QLatin1String(proxyUserC)).toString(),
+ settings.value(QLatin1String(proxyPassC)).toString());
+}
+
void ClientProxy::lookupSystemProxyAsync(const QUrl &url, QObject *dst, const char *slot)
{
auto *runnable = new SystemProxyRunnable(url);